package com.yifang.yibingproject.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifang.yibingproject.dto.SysMenuDTO;
import com.yifang.yibingproject.dto.SysMenuTreeDTO;
import com.yifang.yibingproject.entity.SysMenuEntity;

import java.util.List;
import java.util.Set;

public interface SysMenuService extends IService<SysMenuEntity> {

    String add(SysMenuDTO menu);

    List<SysMenuTreeDTO> listMy(Integer type);


    String del(String id);

    Page<SysMenuDTO> list(Integer pageNo, Integer pageSize, String parentId);

    SysMenuDTO get(String id);

    List<SysMenuTreeDTO> listTree(Integer type);

    String update(SysMenuDTO dto);

    String up(String id);

    String down(String id);

    List<SysMenuDTO> getParent(String id);

    String setHidden(String id, Boolean hidden);

    /**
     *  获取所有的菜单ID
     * @return
     */
    Set<Long> getAllMenuIdSet();

    /**
     * 根据菜单ID集合获取菜单集合
     * @param ids
     * @return
     */
    List<SysMenuEntity> getMenuByIds(Set<Long> ids);
}
